This invention relates to the field of computer software. More specifically, the invention relates to a method and apparatus for distributing picture mail to a frame device community.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyrights whatsoever.
Picture frames provide a visually pleasing way to present photographs for display. People typically prefer to use picture frames, rather than digital display mechanisms (e.g. computer monitors), because of the aesthetic qualities associated with such frames. However, several problems and disadvantages result from the use of traditional picture frames.
For example, a problem that may be encountered by picture frame users is that changing the picture in the frame requires a series of manual steps. For example, a person who wishes to change the picture must manually remove the picture and replace it with a new one. Consequently, changing the picture requires that a person be physically located at the same place where the picture frame resides.
An additional problem with picture frames is that the frame does not have the ability to adjust the dimensions and/or size of the picture to fit within the display area. Pictures placed into the picture frame must correspond to the dimensions of the frame""s display area. One prior art attempt to overcome these limitations is the use of various type of digital display device. The following section describes a prior art digital display device and discusses the inherent limitations of the device.
FIG. 1a illustrates a prior art device (e.g. the Sony PHD A55 CyberFrame(trademark)) capable of displaying digital images. However, there are several problems associated with this device. For example, the device lacks the ability to dynamically obtain image data from a networked data source and then display that data according to criteria established by an authorized user. The device shown in FIG. 1a consists of a display 100. Display 100 is an active matrix LCD screen configured to display digital video data and still image data. The data shown on display 100 is obtained from storage media 103. Storage media 103 is a memory medium capable of storing video and/or image data (e.g. a Memory Stick(trademark)).
The device contains software and/or hardware configured to playback MPEG or JPEG data files obtained from storage media 103. The device supports playback in a variety of different resolutions and can, for example, display JPEG data in UXGA (1600xc3x971200), SXGA (1280xc3x97960), XGA (1024xc3x97768), or VGA (640xc3x97480). MPEG data files are shown on display 100 using a presentation mode that supports a resolution of 320xc3x97240 or a video mode that uses a resolution of 160xc3x97112.
The device also has built-in speaker(s) 105 and volume control 107. Speakers 105 provide a way to play back sound data introduced to the device via storage media 103. Volume control 107 allows the user of the device to adjust the decibel level. Control mechanism 109 contains the software and/or hardware utilized to control how data is displayed. For example, control mechanism 109 has a slide show mode that allows the user to display several images at varying intervals. Control mechanism 109 also provides the system with a way to delete unwanted images or keep certain images from being deleted. Control mechanism 109 is configured to provide other functionality, such as a sleep timer, brightness control, an index mode, an automatic angle detector, and a touchless sensor.
A problem with prior art mechanisms, such as the one illustrated in FIG. 1a, is that the user must physically provide storage media 103 to the device. Thus, a person who does not have physical access to the device cannot introduce new images into the device. Moreover, the device cannot be controlled from a remote location. For example, making changes to a web site cannot control the behavior of the control mechanism.
A further problem is that the functions offered by control mechanism 109 cannot be remotely updated, modified, or otherwise changed. For example, a new feature, such as the ability to obtain new images from a network, cannot be added by transmitting a software update to the device from a remote source. The device illustrated in FIG. 1a is isolated from other devices and therefore does not have the ability to communicate with such devices over a telecommunication medium.
Another limitation inherent in the design of the prior art device is that the device cannot automatically receive different types of image data. For example, the device cannot obtain different types of image data via an image delivery service. The user of the device illustrated in FIG. 1a cannot elect to periodically receive information relating to a particular topic such as the weather report. Computer networks are a prior art mechanism used to propagate data to devices connected to the network. The following section describes several techniques used to send and receive data across such computer networks and explains the limitations and disadvantages associated with such techniques.
A network is an amalgamation of interconnected computers. Devices properly connected to the network may utilize the network to communicate with other devices coupled to the network. A server computer, for example, may use a network to transmit data to a client computer for display. There are several different techniques for propagating data to devices connected to the network. For example, electronic mail, client pull, and server push mechanisms all are examples of techniques that provide a way to transmit data to a client computer. However, these techniques lack a mechanism for establishing and then controlling the behavior of a device from a remote location. For example, these techniques cannot dynamically obtain image data from a networked data source and then display that data according to the behavior criteria established by an authorized user.
A. Electronic Mail Systems:
The following section discusses electronic mail systems and points out the limitations associated with using such systems to distribute image data. An electronic mail system is an example of a prior art system used to distribute data to one or more recipients. The electronic mail system, for example, provides users with a way to transmit data from one computer to another computer.
An example of an electronic mail system is shown in FIG. 1b. The system consists of one or more client computers 125-128 each having a client software program 129-132 configured to send and receive data, a network 133 configured to relay the data to one or more recipients, and a mail server 120 having server software 121 configured to store the data until it is retrieved by the designated recipient(s).
A user residing at client computer 125, for example, may use the system shown in FIG. 1b to transmit an image file to another user residing at a different computer (e.g. client, computer. 127). To send the file the user typically executes the appropriate client software program (e.g. client software 129), determines the data to be sent, and directs the program to send the data to a recipient. Data that is sent is routed across network 133 to the appropriate mail server 120-123 associated with the recipient. Once mail server 120 receives the data, the server holds the data in the intended recipients account until requested by the recipient. For example, mail server 120 will store the data until the recipient residing at client computer, 127 executes a local version of client software program 129 and directs the program to obtain data from mail server 120.
A problem associated with using current electronic mail systems is that to receive and view images recipients must have physical access to a client computer containing a client software program configured to obtain mail data. For example, an electronic mail client (e.g. Microsoft Outlook Express) and/or a web browser (e.g. Microsoft Internet Explorer) must reside on client computer 127 in order for it to obtain data from server 120.
An additional problem with using current electronic mail systems is that in order to receive data the recipient must know how to navigate around the operating system and how to use the program utilized to obtain the data. For example, in some instances the recipient is required to manually configure the program utilized to obtain data. This requires that the recipient know the name and/or address of server 120 and be familiar with the settings required to login to server 120. Current electronic mail systems cannot, for example, automatically connect to an image source, obtain image data for display, and then automatically display the image data according to a set of predetermined preferences.
Instead, current systems require the recipient to manually perform a series of steps before the image data may be viewed. For example, receivers that use a Simple Mail Transfer Protocol (SMTP)/POP electronic mail system, are typically required to 1) open a client program configured to connect to the appropriate server, 2) direct the client to obtain the image data from the server, 3) select the electronic mail message containing the image data from a list of received messages, and 4) provide the image data to a client program configured to display the image data.
In some instances, however, the receiver cannot use the electronic mail client to view the image data, but instead must have an application specially configured to view the image data. If, for example, the receiver""s electronic mail client cannot process images sent in the Tagged Image File Format (TIFF), the receiver must have an application capable of viewing TIFF files in order to view the image data transmitted by the sender. Thus, a problem with using current electronic mail clients to transmit image data is that such clients lack flexibility and require the user to manually open the electronic mail message to view the attached image data.
Another problem is that electronic mail client programs cannot obtain image data and then display a full sized view of that data without requiring the user to manually intervene. Current electronic mail clients are not configured to periodically obtain and then automatically display images. Additionally, the receiver cannot control which images may be displayed and the frequency with which those images are displayed cannot be set based on the receiver""s preferences. For example, mail clients lack the ability to automatically distribute data to a client computer according to a set of preferences determined by the user of the client computer. Furthermore, the receiver cannot set the behavior characteristics of the electronic mail client unless physically present at the client.
B. Client Pull:
The following section discusses the client pull technique and points out the limitations associated with using such systems to distribute image data. Client pull is an example of a technique used to download data from a server computer. When client pull is employed, data is requested by a client computer and then delivered by a server. For example, if web browser 131, executing at client computer 127, requests web page 151 stored on web server 150, it will cause web server 150 to execute web server software 152 which will in turn transmit web page 151 to client computer 127. The World Wide Web (WWW) is an example of a system that utilizes the client pull technique. The WWW is a segment of the Internet that utilizes an application layer protocol called the HyperText Transfer Protocol (HTTP) to disseminate and to obtain information from server computers (e.g. web server 150).
HTTP is a request/response protocol used with distributed, collaborative, hypermedia information systems. In operation, HTTP enables one computer to request data from another. For example, client 127 can use HTTP to communicate with web server 150 via network 133. In this scenario web server 150 acts as a data store for one or more web pages 151 and is capable of processing client 127""s requests for such files. The web pages 151 stored on web server 150 may contain any type of data. For example, the files may contain data used to construct a form, image data, text data, or any other type of data. HTTP has communication methods that utilize the client pull technique to allow client 127 to request data from web server 150. Client 127 may use web browser 131 to initiate a request and thereby obtain web page 151.
Typically, web browser 131 requests at least one web page 151 from web server 150 and web server software 151 responds to the request by forwarding requested web page 151 to client 127. Once web page 151 arrives the connection is between client 127 and web server 150 is terminated. Client 127 uses web browser 131 to display requested web page 151. Web server 150 does not maintain any state information about the request once the connection is terminated. HTTP, which is frequently used to implement client pull, is, therefore, a stateless application protocol. That is, client 127 can send several requests to web server 150, but each individual request is treated independent of any other request. Web server 150 has no recollection of any previous request. Thus, for example, if a form is completed by the user and submitted to web server 150 for processing, the web server does not maintain a record of the data entered the form.
Once a file is sent from web server 150 to client 127 it becomes ready for display. Client 127""s web browser 131 is typically used to format and display web page 151. Web browser 131 allows the user to request and view web page 131 (or any other web page) without having to learn a complicated command syntax. Examples of several widely used web browsers include Netscape Navigator, Internet Explorer, and Opera. Some web browsers can display several different types of files. For example, web browser 131 may display files (e.g. web pages) written using the HyperText Markup Language (HTML), the JavaScript programming language, the ActiveX programming language, or the Portable Document Format (PDF). It is also possible to display various other types of files using language such as Standard Generalized Markup Language (SGML) or extensible Markup Language (XML).
A problem with utilizing client pull to distribute data, is that information about what data is to be disseminated to the client computer must be contained in the initial request. For example, if amuser residing at client 127 wishes to request web page 131, the user may do so by entering a Uniform Resource Locator (URL) and then transmitting the URL to web server 150. The URL is used to identify the name and location of web page 131 (e.g. web page 131 resides on web server 150). When web server 150 receives the request it transmits requested web page 131 to client 127. Web server 150 is not configured, for example, to transmit data that web server 150 determines client 127 needs (e.g. onboard software updates).
Another problem associated with client pull is that it does not provide a way to ensure data is displayed only to an intended recipient (e.g. a particular device and/or a particular user). Web server 150, for example, does not provide a way to ensure that data intended for display at a certain device is only sent to that device (e.g. a device with a unique serial number). An additional problem is that client 127 cannot be directed to request data without input or direction from a user residing at client 127. For example, a user residing at client 128 cannot control the behavior of client 127. Systems utilizing client pull do not have a mechanism for control the request patterns of multiple devices.
C. Server Push:
The following section discusses the server push techniques and points out the limitations associated with using such systems to distribute image data. Server push is a technique that provides a way to transmit a predetermined data set from a server computer to one or more client computers. Referring now to FIG. 1c, a system configured to perform one or more server push operations is shown. The system is generally composed of a server system 170, a network 173, and client computers 175-171. Each element of the system is configured to perform a task. Server system 170, for example, transmits data to any client computer 175-171 scheduled to receive data. Network 173 provides end-to-end connectivity for the system and thereby links server system 170 with client computers 175-171.
Each client computer 175-171 contains software configured to provide the user with an interface for operating the computer (e.g. an operating system). A web browser 180, residing at each client, provides users with a way to inform server 170 what type of data to send and how often data of that type should be sent. For example, if the user of client computer 175 wishes to have server 170 transmit stock market quotes (e.g. data 172) to client computer 175 on a daily basis, the user may direct server 170 to do""so by obtaining a web form 190 from server 170 that provides such a option, filling the form out, and submitting the form to server 170. When server 120 receives the data provided by the user, it schedules the stock market quotes for dissemination at the interval specified by the user.
Server 120 may also be configured to disseminate electronic mail messages to client computers 125-131 on a regular basis. For example, if the user of client computer 129, or any other person authorized to control the behavior of server 120, directs server 120 to transmit an electronic mail messages to client computer 129 once a week, server 120 will distribute an electronic mail message to client computer 129 at the interval specified by, the user.
Other types of data, such as document written using the HyperText Markup Language (HTML) may also be transmitted to client computers 175-171 for display. Such document may, for example, be embedded into the graphical user interface (e.g. the GCU desktop) or shown as screen savers. Examples, of such distribution systems include the active desktop included with Internet Explorer and the screen saver distribution scheme used by pointcast.
A problem with server push systems is that data is transmitted in a unidirectional manner. For example, data may be sent from server 170 to client computer 177 using server push techniques, but data cannot be transmitted from client computer 175 to client computer 177. Another problem associated with server push is that it does not provide a way to ensure data is displayed only to an intended recipient (e.g. a particular device and/or a particular user). Web server 170, for example, does not contain a mechanism for ensuring that data is only sent to devices having a certain serial number.
None of the prior art devices and/or systems described provide a way to distribute image data to a customizable frame devices. The prior art lacks a mechanism for remotely customizing the behavior of each frame device and does not have a distribution scheme configured to distribute image data to each frame device.
A method and apparatus for distributing picture mail to a frame device community is described. The present invention comprises one or more interconnected frame devices. A frame device is a self-configuring digital picture frame that obtains images for display from a repository of that may be accessed via an interconnection fabric (e.g. a computer network). If a person (referred to as a user) wants to display an image on the frame device the person may do so by transmitting the image data to the repository.
The frame device is programmed to connect to the repository and obtain new images for display. Once the frame device is connected to the network it may also use the opportunity to update the device""s onboard software. In one or more embodiments of the invention, the frame device is configured to automatically execute the steps typically required for it to connect to the repository. Thus, the frame device is self-aware and requires only a minimal amount of input from the user. Once the frame device is connected to a power source and a telephone line, for example, the device is configured to automatically access the data repository without any further user input. The software that provides the frame device with its operational logic may be automatically upgraded without input from the user. For example, when the frame device connects to the data repository the device may elect to update and/or modify the operating system software located inside the frame device. Thus, if certain information necessary for normal day-to-day operation is lost (e.g. by a power outage), the frame device may recover without requiring input from the user.
The type of images and the frequency with which such images are displayed is configured remotely via a graphic user interface called a picture box. In one or more embodiments of the invention, the picture box is accessible via a web browser. The picture box provides a way to customize the behavior characteristics of the frame device to conform to the wishes of the user. Each frame device has a display region (e.g. an LCD) surrounded by a border region modeled to resemble a traditional picture frame. The border region may be comprised of wood, plastic, or any other aesthetically pleasing compound. The border region may be, for example, an actual picture frame with a paper matte board that surrounds a thin LCD display region. Each frame device is configured to connect to an interconnection fabric to periodically obtain image data from a data repository and to then display that data according to criteria established by an authorized user.
The data repository is populated with image data via an image collection process. For example, in one or more embodiments of the invention, a networked data source (e.g. a client and/or server computer) populates the data repository with image data by submitting image data to a picture mail address associated with the target frame device. The user may specify filter criteria which establishes what network addresses (e.g. picture mail address) are authorized to populate the data repository. The filter criteria and other information such as the behavior characteristics of each frame device are established via a picture box.
When a user initializes a frame device, the user associated with the initialized frame device becomes a member of an online community. When the user initiates the frame device a picture box is created that allows the user to specify mange the behavior of the user""s frame device. Each picture box is assigned a unique username (e.g. a picture address) and associated with one or more frame devices. The picture box provides the user with an interface for managing the behavior characteristics and filter criteria of one or more registered frame devices. For example, the picture box provides the user with a way to specify when the frame device should connect to the data repository to obtain a image and/or software update. When an update occurs new image data and or information related to the operation and behavior of the frame device may be transmitted to the device.
In one or more embodiments of the invention, users may obtain a picture box by using a picture box viewer (e.g. a web browser). A picture box engine residing on a server system may generate the picture box. The picture box engine uses information stored in the data repository to generate the picture box that is displayed by the picture box viewer. For example, a user residing at a client computer may use a picture box viewer to request a picture box from a server computer. The server will respond to the request by executing the picture box engine, which in turn obtains the data used to generate a picture box from the data repository.